package com.fowo.api.model.sell.order.detail;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fowo.api.common.excel.ImageConvert;
import com.fowo.api.sys.entity.SysFile;
import java.util.List;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 订单列表详情 导入导出辅助模型 */
@Getter
@Setter
public class SellOrderDetailExcelPo {

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "所属销售订单")
  private String parentIdAmazonOrderId;

  @ExcelIgnore
  @ExcelProperty(value = "所属销售订单")
  private Long parentId;

  @ExcelProperty(value = "图片", converter = ImageConvert.class)
  private List<SysFile> img;

  @Size(max = 5000, message = "标题长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "标题")
  private String title;

  @Size(max = 50, message = "ASIN长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "ASIN")
  private String asin;

  @Size(max = 50, message = "MSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "MSKU")
  private String sellerSku;

  @Size(max = 50, message = "商品编码长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品编码")
  private String orderItemId;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "本地产品")
  private String productIdName;

  @ExcelIgnore
  @ExcelProperty(value = "本地产品")
  private Long productId;

  @Size(max = 50, message = "SKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "SKU")
  private String sku;

  @ExcelProperty(value = "单价")
  private java.math.BigDecimal unitPriceAmount;

  @ExcelProperty(value = "数量")
  private Integer quantityOrdered;

  @ExcelProperty(value = "已配送")
  private Integer quantityShipped;

  @ExcelProperty(value = "销售收益")
  private java.math.BigDecimal salesPriceAmount;

  @ExcelProperty(value = "积分成本")
  private java.math.BigDecimal pointsMonetaryValueAmount;

  @ExcelProperty(value = "税费")
  private java.math.BigDecimal taxAmount;

  @ExcelProperty(value = "采购成本")
  private java.math.BigDecimal cgPrice;

  @ExcelProperty(value = "头程费用")
  private java.math.BigDecimal cgTransportCosts;

  @ExcelProperty(value = "FBA发货费")
  private java.math.BigDecimal fbaShipmentAmount;

  @ExcelProperty(value = "促销费")
  private java.math.BigDecimal promotionAmount;

  @Size(max = 50, message = "商品促销编号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品促销编号")
  private String promotionIds;

  @ExcelProperty(value = "平台费")
  private java.math.BigDecimal commissionAmount;

  @ExcelProperty(value = "其他费用")
  private java.math.BigDecimal otherAmount;

  @ExcelProperty(value = "毛利润")
  private java.math.BigDecimal profit;

  @ExcelProperty(value = "商品运费")
  private java.math.BigDecimal shippingPriceAmount;
}
